#ifndef PROCESS_DATA_HPP
#define PROCESS_DATA_HPP
#include <complex>
#include <stdio.h>
#include "myfft.hpp"
#include "main.hpp"

extern std::complex<double> pbch[576];
extern int head_buf;
extern int tail_buf;
extern int slot_in_buff;
extern bool stop_flag;

class MY_PROCESS_DATA
{
private:
    // std::thread thread_;
    std::size_t size = FFT_SIZE;
    myfft fft;
    std::complex<double> sss[127];
    std::complex<double> pss[127];
    std::complex<double> pbch_dmrs[144];
    std::complex<double> pdsch_dmrs[150];

public:
    MY_PROCESS_DATA(int NID, std::size_t size, bool flag);
    ~MY_PROCESS_DATA();
    void process_data();
    // void runThread();
    void add_ssb_dmrs(std::complex<double> *data, std::complex<double> *p_data);
};
#endif